package com.payment.system.mapper;

import com.payment.common.annotation.DataSource;
import com.payment.common.enums.DataSourceType;
import com.payment.system.domain.ShoppingAddress;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 收获地址 数据层
 * 
 * @author payment
 * @date 2019-01-18
 */
public interface ShoppingAddressMapper 
{
	/**
     * 查询收获地址信息
     * 
     * @param id 收获地址ID
     * @return 收获地址信息
     */
	@DataSource(DataSourceType.SLAVE)
	public ShoppingAddress selectShoppingAddressById(String id);
	
	/**
     * 查询收获地址列表
     * 
     * @param shoppingAddress 收获地址信息
     * @return 收获地址集合
     */
	@DataSource(DataSourceType.SLAVE)
	public List<ShoppingAddress> selectShoppingAddressList(ShoppingAddress shoppingAddress);
	
	/**
     * 新增收获地址
     * 
     * @param shoppingAddress 收获地址信息
     * @return 结果
     */
	public int insertShoppingAddress(ShoppingAddress shoppingAddress);
	
	/**
     * 修改收获地址
     * 
     * @param shoppingAddress 收获地址信息
     * @return 结果
     */
	public int updateShoppingAddress(ShoppingAddress shoppingAddress);
	
	/**
     * 删除收获地址
     * 
     * @param id 收获地址ID
     * @return 结果
     */
	public int deleteShoppingAddressById(String id);
	
	/**
     * 批量删除收获地址
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteShoppingAddressByIds(String[] ids);

	//查询商户收获地址列表
	@DataSource(DataSourceType.SLAVE)
    List<ShoppingAddress> selectShoppingAddressListBymerchantId(@Param("merchantId") String merchantId);

	//查询商户地址详情
	@DataSource(DataSourceType.SLAVE)
    ShoppingAddress selectShoppingAddressByIdAndMerchantId(@Param("merchantId") String merchantId, @Param("addressId") String addressId);

	//修改收获地址选择状态
	int updategAddresAllStatusByMerchantId(@Param("merchantId") String merchantId, @Param("status") String status);
}